#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 打开文件
FILE *file_open(const char *path, const char *mode);
// 关闭文件
int file_close(FILE **fp);

/*
fseek
int fseek(FILE *stream, long offset, int whence);
参数
    @stream 文件指针
    @offset 移动的数量
    @whence 从哪开始
        SEEK_SET    从文件头部开始
        SEEK_CUR    从当前位置开始
        SEEK_END    从文件末尾开始
*/



int main(int argc, char const *argv[])
{
    // 打开文件
    FILE * fp = file_open("hqyj.txt" , "r+");

    char buf[128] = "HQYJ_ZHAGNSAN";
    fputs( buf , fp );
    // 移动光标函数 
    fseek( fp , -5 , SEEK_SET );

    char buf_1[128];
    fgets( buf_1 , 9 , fp);
    printf("读取到的字符串为 :%s\n" , buf_1);

    // 关闭文件
    file_close(&fp);
    return 0;
}




FILE *file_open(const char *path, const char *mode)
{
    FILE *fp = fopen(path, mode);
    if (NULL == fp)
    {
        printf("文件创建失败\n");
        exit(-1);    // 退出整个程序
    }
    return fp;
}

int file_close(FILE **fp)
{
    fclose(*fp);
    *fp = NULL;
}